using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Microsoft.Xna.Framework;
using Microsoft.Xna.Framework.Input.Touch;

#if WINDOWS_PHONE
using Microsoft.Devices.Sensors;
using Microsoft.Xna.Framework.Input;
#endif

namespace SPGE
{
    public interface ICustomUpdateable
    {
        float UpdateOrder { get; }
    }

    public interface ISimpleUpdatable : ICustomUpdateable
    {
        void Update(GameTime gameTime);
    }

    public interface ITouchUpdatable : ICustomUpdateable
    {
        void Update(GameTime gameTime, TouchCollection collection, List<GestureSample> gestures);
    }

#if WINDOWS_PHONE
    public interface IAccelerometerUpdatable : ICustomUpdateable
    {
        void Update(GameTime gameTime, AccelerometerReading accelData);
    }

    public interface IAccelerometerAndTouchUpdateable : ICustomUpdateable
    {
        void Update(GameTime gameTime, AccelerometerReading accelData, TouchCollection collection, List<GestureSample> gestures);
    }
#endif

}
